#ifndef PROPERTYFROM_H
#define PROPERTYFROM_H

#include <QFrame>
#include <qtpropertymanager.h>
#include <qteditorfactory.h>
#include <qttreepropertybrowser.h>
#include <qtbuttonpropertybrowser.h>
#include <qtgroupboxpropertybrowser.h>
class QVBoxLayout;
class PropertyFrame : public QFrame
{
	Q_OBJECT

public:
	PropertyFrame(QWidget *parent);
	~PropertyFrame();
public slots:
	virtual void StringValueChanged(QtProperty * prop, const QString & value);
	virtual void BoolValueChanged(QtProperty * prop, bool  value);
	virtual void IntValueChanged(QtProperty * prop, int value);
	virtual void DoubleValueChanged(QtProperty * prop, int value);
	virtual void SizeValueChanged(QtProperty * prop, const QSize & value);
	virtual void RectValueChanged(QtProperty * prop, const QRect & value);
	virtual void SizePolicyValueChanged(QtProperty * prop, const QSizePolicy & value);
	virtual void EnumPolicyValueChanged(QtProperty * prop, int value);
protected:
	QtGroupPropertyManager *groupManager;
	QtBoolPropertyManager *boolManager;
	QtIntPropertyManager *intManager;
	QtDoublePropertyManager *doubleManager;
	QtStringPropertyManager *stringManager;
	QtSizePropertyManager *sizeManager;
	QtRectPropertyManager *rectManager;
	QtSizePolicyPropertyManager *sizePolicyManager;
	QtEnumPropertyManager *enumManager;

	QtCheckBoxFactory *checkBoxFactory;
	QtSpinBoxFactory *spinBoxFactory;
	QtDoubleSpinBoxFactory *doubleSpinBoxFactory;
	QtSliderFactory *sliderFactory;
	QtScrollBarFactory *scrollBarFactory;
	QtLineEditFactory *lineEditFactory;
	QtEnumEditorFactory *comboBoxFactory;

	QtAbstractPropertyBrowser *editor;
};

#endif // PROPERTYFROM_H
